/**
 * @author 03010570
 * @date 2020/06/15
 * describe: 排列硬币   https://leetcode-cn.com/problems/arranging-coins/
 */
public class LeetCode_441 {

    public static void main(String[] args) {
        System.out.println(arrangeCoins(1));
        System.out.println(arrangeCoins(5));
        System.out.println(arrangeCoins(8));
    }

    /**
     * 自己的思路：
     * 1、使用一个计数器来计数有多少个完整的行 count
     * 2、循环来硬币，每循环 一次 k - i,count ++ ,直到有一层 k<i ,结束循环，返回 count
     *
     * @param n
     * @return
     */
    public static int arrangeCoins(int n) {
        int count = 0;
        for (int i = 1; i <= n; i++) {
            if (n < i) {
                return count;
            }
            n -= i;
            count++;
        }
        return count;
    }
}
